package task1;

import java.util.LinkedHashMap;
import java.util.Map;

public class CharNumberTest {
    public static void main(String[] args) {
        String s = "ABCD123!@#$%ab";
        Map<String, Integer> map = new LinkedHashMap<>();

        // 将非大写字母替换位空字符串
        String upper = s.replaceAll("[^A-Z]", "");
        // 将文字描述与数量放入map中
        map.put("大写字母数量", upper.length());
        // 将非小写字母替换为空字符串
        String lower = s.replaceAll("[^a-z]", "");
        map.put("小写字母数量", lower.length());
        // 将非数字替换为空字符串
        String digit = s.replaceAll("[^0-9]", "");
        map.put("数字数量", digit.length());
        // 将数字与字母替换为空字符串
        String other = s.replaceAll("\\w", "");
        map.put("其他字符数量", other.length());

        // 打印结果
        System.out.println(map);
    }
}
